/**
 * 
 */
package ao.com.bna.dao;

import java.util.List;

import org.springframework.dao.support.DataAccessUtils;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import ao.com.bna.beans.AuthUtilizador;

public class AuthUtilizadorDao extends HibernateDaoSupport {

	/**
	 * @see Metodo que lista.
	 */
	public List<AuthUtilizador> listar() {
		return getHibernateTemplate().loadAll(AuthUtilizador.class);
	}

	/**
	 * @see Metodo para obten��o de um registo passando como parametro o id.
	 */
	public AuthUtilizador obterPorID(Long id) {
		return (AuthUtilizador) getHibernateTemplate().get(
				AuthUtilizador.class, id);
	}

	/**
	 * @see Metodo que actualiza o registo na tabela
	 */
	public void gravar(AuthUtilizador bean) {
		getHibernateTemplate().saveOrUpdate(bean);
	}

	/**
	 * @see Metodo que remove o registo na tabela
	 */
	public void remover(AuthUtilizador info) {
		getHibernateTemplate().delete(info);
	}


	public AuthUtilizador findByLogin(String username) {
		String jpaQuery = "from AuthUtilizador where username = :user ";
		//List<AuthUtilizador> lista = getHibernateTemplate().findByNamedParam(jpaQuery, "user", username);
		/*if (lista.size() > 0) {
			return lista.get(0);
		}*/
		
		return (AuthUtilizador)DataAccessUtils.uniqueResult(getHibernateTemplate().findByNamedParam(jpaQuery, "user", username));

		//return null;
	}

}
